8c2540e5f6fb5d5bef5a299f6e6efc371f3834b2,src/com/jfoenix/android/skins/JFXTextAreaSkinAndroid.java,JFXTextAreaSkinAndroid,JFXTextAreaSkinAndroid,#JFXTextArea#,119
Before Change
// TODO: FIX the resizing issue of text area, the line goes into textarea bounds
if(textArea.getPrefHeight() == -1) textArea.setPrefHeight(180);
if(textArea.getPrefWidth() == -1) textArea.setPrefWidth(511);
mainPane.getChildren().addAll(this.getChildren());
scrollPane = (ScrollPane) mainPane.getChildren().get(0);
promptContainer = new StackPane();
promptContainer.setFocusTraversable(false);
errorContainer = new HBox();
errorContainer.setFocusTraversable(false);
errorLabel.getStyleClass().add("errorLabel");
errorLabel.setWrapText(true);
AnchorPane errorLabelContainer = new AnchorPane();
errorLabelContainer.getChildren().add(errorLabel);
errorContainer.getChildren().add(errorLabelContainer);
errorContainer.getChildren().add(errorIcon);
errorContainer.setPadding(new Insets(6,0,0,1));
HBox.setHgrow(errorLabelContainer, Priority.ALWAYS);
errorIcon.setTranslateY(3);
errorContainer.setSpacing(10);
errorContainer.setVisible(false);
errorContainer.setOpacity(0);
this.getChildren().setAll(mainPane, promptContainer, errorContainer);
scrollPane.prefWidthProperty().bind(mainPane.widthProperty());
scrollPane.prefHeightProperty().bind(mainPane.heightProperty());
// hide text area borders
scrollPane.setBackground(transparentBackground);
((Region)scrollPane.getContent()).setBackground(transparentBackground);
getSkinnable().setBackground(transparentBackground);
line.layoutXProperty().bind(scrollPane.layoutXProperty());
line.layoutYProperty().bind(scrollPane.layoutYProperty());
focusedLine.layoutXProperty().bind(scrollPane.layoutXProperty());
focusedLine.layoutYProperty().bind(scrollPane.layoutYProperty());
cursorPane.layoutXProperty().bind(scrollPane.layoutXProperty());
cursorPane.layoutYProperty().bind(scrollPane.layoutYProperty());
// errorContainer.layoutXProperty().bind(scrollPane.layoutXProperty());
// errorContainer.layoutYProperty().bind(scrollPane.layoutYProperty());
After Change
public JFXTextAreaSkinAndroid(JFXTextArea textArea) {
super(textArea);
// init text area properties
scrollPane = (ScrollPane) getChildren().get(0);
((Region)scrollPane.getContent()).setPadding(new Insets(0));
// hide text area borders
scrollPane.setBackground(transparentBackground);
((Region)scrollPane.getContent()).setBackground(transparentBackground);
getSkinnable().setBackground(transparentBackground);
textArea.setWrapText(true);
errorLabel.getStyleClass().add("errorLabel");
errorLabel.setPadding(new Insets(4,0,0,0));
errorLabel.setWrapText(true);
errorIcon.setTranslateY(3);
StackPane errorLabelContainer = new StackPane();
errorLabelContainer.getChildren().add(errorLabel);
StackPane.setAlignment(errorLabel, Pos.CENTER_LEFT);
promptContainer = new StackPane();
line.getStyleClass().add("textfield-line");
focusedLine.getStyleClass().add("textfield-focused-line");
errorContainer = new HBox();
errorContainer.getChildren().setAll(errorLabelContainer, errorIcon);
HBox.setHgrow(errorLabelContainer, Priority.ALWAYS);